Skip to content

feat(review): default to minimal 'reviewer' subagent on Sonnet - #364

Merged
nhorton merged 2 commits into
mainfrom
feat/reviewer-subagent-default
Apr 12, 2026
Merged

feat(review): default to minimal 'reviewer' subagent on Sonnet#364
nhorton merged 2 commits into
mainfrom
feat/reviewer-subagent-default

Conversation

@nhorton

@nhorton nhorton commented Apr 12, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Ships a new reviewer subagent in the DeepWork Claude plugin (plugins/claude/agents/reviewer.md) pinned to model: sonnet with minimal instructions, reducing per-review cost by switching from Opus to Sonnet across parallel review fan-out.
  • Changes the default subagent_type in review dispatch from "general-purpose" to "reviewer" (single-line change at formatter.py:109), with per-rule .deepreview agent overrides still taking precedence.
  • Handles the dev/prod MCP tool naming split via dual wildcards (mcp__plugin_deepwork_deepwork__* and mcp__deepwork-dev__*) in the agent's tools: frontmatter.
  • Updates spec REVIEW-REQ-006.3.c, test assertions, and stale cross-references in lockstep.
  • Adds a "Contributor setup" note to README_REVIEWS.md.

Test plan

  • uv run pytest tests/unit/review/test_formatter.py — 23 passed (default assertion updated)
  • uv run pytest tests/unit/review/ — 267 passed, no regressions
  • uv run deepwork review --instructions-for claude — confirmed unscoped rules emit subagent_type: reviewer; requirements_traceability still routes to requirements-reviewer override
  • Live /review dispatch: verify the reviewer subagent resolves, completes a review, and calls mark_review_as_passed successfully
  • Verify wildcard tools: syntax works in Claude Code agent frontmatter at dispatch time; if not, swap to explicit six-tool enumeration

🤖 Generated with Claude Code

nhorton and others added 2 commits April 11, 2026 16:57
Ship a new 'reviewer' subagent in the DeepWork Claude plugin pinned to
Sonnet with minimal instructions, and default review dispatch to it.
Opus→Sonnet across parallel review fan-out is the dominant cost lever.
Per-rule agent overrides still take precedence.

The reviewer's tools list includes dual-wildcard MCP prefixes
(mcp__plugin_deepwork_deepwork__* and mcp__deepwork-dev__*) so the same
agent file resolves mark_review_as_passed in both production (plugin
install only) and development (dev MCP server, with or without plugin)
contexts. Spec REVIEW-REQ-006.3.c and test_formatter.py are updated in
lockstep; stale REVIEW-REQ-006.3.3b/c cross-references corrected.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Fix test_formatter.py traceability comment IDs: restore the .3.3
  hierarchy level (REVIEW-REQ-006.3.3c, .3.3b) instead of the
  incorrectly shortened .3.c, .3.b format.
- Update README_REVIEWS.md example output to match current formatter
  format (name/description/subagent_type/prompt fields, reviewer default).
- Add agents/ directory to CLAUDE.md and doc/architecture.md project
  structure trees.
- Add PLUG-REQ-001.14 (Default Reviewer Subagent) formalizing the
  reviewer agent's existence, model, tools, and behavioral constraints.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@nhorton
nhorton added this pull request to the merge queue Apr 12, 2026
Merged via the queue into main with commit 2d9b44b Apr 12, 2026
5 checks passed
@nhorton
nhorton deleted the feat/reviewer-subagent-default branch April 12, 2026 16:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant